In general, direct memory access (DMA) provides various techniques that enable a device or process of a local host computing device to directly read and write local memory of that host device without interrupting the host's CPU(s). In contrast, remote direct memory access (RDMA), which is increasingly being deployed in data centers, extends traditional DMA-based techniques to enable a remote device or process to directly read and write memory of a remote computing device without interrupting the CPU(s) of the remote computing device. Existing RDMA-based techniques, such as, for example, InfiniBand, iWARP, RDMA over Converged Ethernet (RoCE), etc., make use of RDMA-enabled network interface controller (NICs).
Typical key-value stores, also referred to as key-value databases, enable storage, retrieval and management of associative arrays such as a dictionary or hash. Key-value stores typically contain a collection of objects, or records, which in turn have many different fields within them, each containing data. These records are stored and retrieved using a key from the key-value store that uniquely identifies the record, and is used to locate and access specific data within the database.